f(x)=sin|k*pi*x|

来源:百度知道 编辑:UC知道 时间:2024/05/22 06:06:38
7.对于非光滑曲线 f(x)=sin|k*pi*x|,在[0,1] 上选择不同的k 和n ,用等距节点做 n次拉格朗日插值,观察误差大小和收敛情况。用MATLAB实现

Matlab代码实现:
k=2; %取k=2 n分别取3,6,9;k,n取其他值时,只需改变代码中k和 ni的值
xxx=linspace(0,1,100);yyy=abs(sin(k*pi.*xxx));
plot(xxx,yyy);hold on;
xx=linspace(0,1,100);
n1=3; %n=3时
x=linspace(0,1,n1);
y=abs(sin(k*pi.*x)); yy=nalagr(x,y,xx);
plot(xx,yy,'r'); hold on;

n2=6; %n=6时
x=linspace(0,1,n2);
y=abs(sin(k*pi.*x)); yy=nalagr(x,y,xx);
plot(xx,yy,'g'); hold on;

n3=9; %n=9时
x=linspace(0,1,n3);
y=abs(sin(k*pi.*x)); yy=nalagr(x,y,xx);
plot(xx,yy,'k'); hold on;
gtext('n等于3');gtext('n等于6');gtext('n等于9');